package 动态规划专项训练.动态规划训练1;

/**62.不同路径
 * 计数型动态规划
 * @author zx
 * @create 2022-03-30 16:06
 */
public class Num62 {
    /**
     * @return 时间复杂度(计算步数)：O(MN),空间复杂度(数组大小)：O(MN)
     */
    public int uniquePaths(int m, int n) {
        int[][] f = new int[m][n];
        //一行一行的去计算
        for(int i = 0;i < m;i++){
            //每一行再去计算列
            for(int j = 0;j < n;j++){
                //边界条件
                if(i == 0 || j == 0){
                    f[i][j] = 1;
                }else{
                    //             up           left
                    f[i][j] = f[i - 1][j] + f[i][j - 1];
                }
            }
        }
        return f[m - 1][n - 1];
    }
}
